Database systems contain information being accessed for both reading and writing. In some cases, an application manipulates data based on one or more database entries. In order to prevent creating data inconsistencies, a database will lock access to database entries during the time that an application is manipulating data. However, locking access to database entries during the time that an application is manipulating one or more database entries blocks other applications from using the locked entries, creates overheads to the database system in order to indicate what is locked, how long it is locked, and what to queue up for accessing the database entries after the entries become unlocked. In some cases when the number and frequency of accesses is high or when the amount of time that an application requires a lock is long, a database system can become unacceptably slow in its response to requests because requests are queued or checking to determine if access is allowable becomes too time consuming.